
package com.insigma.business.qrcode.job.dao;


import com.insigma.business.qrcode.job.dto.search.JobCandidatePositionEnrollBSearcher;
import com.insigma.business.qrcode.job.entity.JobCandidatePositionEnrollDO;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;


public interface JobCandidatePositionEnrollDao {

    
    List<JobCandidatePositionEnrollDO> search(final JobCandidatePositionEnrollBSearcher innerSearcher);

    
    JobCandidatePositionEnrollDO get(final String id);

    
    Integer insert(final JobCandidatePositionEnrollDO jobCandidatePositionEnrollDO);

    
    Integer update(final JobCandidatePositionEnrollDO jobCandidatePositionEnrollDO);

    
    Integer delete(@Param("id") final String id,
                   @Param("modifierType") final String modifierType,
                   @Param("modifierId") final String modifierId);

    
    JobCandidatePositionEnrollDO getBySoldierIdAndPositionId(@Param("soldierId") String soldierId, @Param("positionId") String positionId);

    int countByBetweenTime(@Param("startTime")Date startTime, @Param("endTime")Date endTime, @Param("companyId")String companyId);

    Integer countByCompanyId(String companyId);

    Integer countByPosition(String positionId);
}
